:root{
  --cream:#fff8e6;
  --gold:#d4af37;
  --deep-gold:#b8962e;
  --ink:#3a2e1f;
  --shadow:rgba(0,0,0,0.25);
  --particle:#ffe680;
}

/* BASE */
body{
  margin:0;
  font-family:"Georgia", serif;
  background:linear-gradient(180deg,#fffdf5,var(--cream));
  color:var(--ink);
  overflow-x:hidden;
  position:relative;
}

/* BACK BUTTON */
.back-btn{
  position:fixed;
  top:20px;
  left:20px;
  padding:0.6rem 1.4rem;
  background:linear-gradient(135deg,var(--deep-gold),var(--gold));
  color:#fff;
  text-decoration:none;
  border-radius:30px;
  box-shadow:0 6px 20px var(--shadow);
  z-index:10;
}

/* FLOATING CROSSES */
.cross{
  position:fixed;
  top:50%;
  font-size:4rem;
  color:var(--gold);
  opacity:0.25;
  animation:sway 25s ease-in-out infinite, rotateCross 40s linear infinite;
  pointer-events:none;
}

.cross.left{ left:20px; }
.cross.right{ right:20px; animation-delay:12s; }

@keyframes sway{
  0%,100%{ transform:translateY(-20px); }
  50%{ transform:translateY(20px); }
}

@keyframes rotateCross{
  0%{ transform:rotate(0deg); }
  100%{ transform:rotate(360deg); }
}

/* HOLY PARTICLES */
#holyParticles{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:1;
  overflow:hidden;
}

.particle{
  position:absolute;
  width:6px;
  height:6px;
  background:var(--particle);
  border-radius:50%;
  animation:rise 7s linear infinite;
}

@keyframes rise{
  0%{ transform:translateY(0); opacity:0.2; }
  50%{ opacity:0.6; }
  100%{ transform:translateY(-120vh); opacity:0; }
}

/* HEADER */
.services-header{
  text-align:center;
  padding:4rem 1rem 2rem;
  border-bottom:4px double var(--gold);
}

.services-header h1{
  font-size:3rem;
  letter-spacing:3px;
  color: #b8962e;
}

.subtitle{
  font-style:italic;
  opacity:0.8;
}

/* MAIN */
.services{
  max-width:1000px;
  margin:3rem auto;
  padding:0 2rem;
}

/* SERVICE SECTIONS */
.service{
  display:flex;
  gap:1.5rem;
  align-items:flex-start;
  margin-bottom:3rem;
  position:relative;
}

.service .icon{
  font-size:2.5rem;
  color:red;
  flex-shrink:0;
  margin-top:4px;
}

.service .text h2{
  margin-top:0;
  color:var(--deep-gold);
  letter-spacing:1px;
}

.service .text p{
  line-height:1.6;
}

/* DIVIDER */
.holy-divider{
  height:4px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  margin:2rem 0;
}

/* FOOTER */
.services-footer{
  text-align:center;
  padding:3rem 1rem;
  border-top:4px double var(--gold);
  font-style:italic;
}

/* MOBILE */
@media(max-width:900px){
  .service{
    flex-direction:column;
  }
  .service .icon{
    margin-bottom:0.5rem;
  }
  .cross{ display:none; }
}
